home *** CD-ROM | disk | FTP | other *** search
/ Plug-In Power Pack for Netscape Communicator / Plug-In Power Pack for Netscape Communicator.iso / plugins / dataviews / include / dvdsdll.h < prev    next >
C/C++ Source or Header  |  1997-05-08  |  3KB  |  82 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // DvDsDll.h : DataViews Data Source DLL interface header file
  4. //
  5. /////////////////////////////////////////////////////////////////////////////
  6.  
  7. #ifndef DVDSDLL_H
  8. #define DVDSDLL_H
  9.  
  10. #ifdef __cplusplus
  11.  
  12. extern "C" {
  13.  
  14. #include "Tfundecl.h"
  15.  
  16. }
  17. #endif
  18.  
  19. #include "dvtypes.h"
  20. #include "dvinterface.h"
  21.  
  22.  
  23. /////////////////////////////////////////////////////////////////////////////
  24. // DV_DSDLLCONTEXT
  25.  
  26. typedef enum DV_DSDLLCONTEXT {
  27.     // Context flags
  28.     DV_DSDLL_INITNEWVIEW    = 0x1,     // Initializing a new DV view
  29.     DV_DSDLL_EDITDSL        = 0x2,     // Editing data sources (read/write)
  30.     DV_DSDLL_VIEWDSL        = 0x4,     // Viewing (read only) data sources (Not used/future use)
  31.     DV_DSDLL_EDITDYNAMICS    = 0x8,     // Context is editing dynamics
  32.     DV_DSDLL_EDITGRAPH        = 0x10,    // Context is creating/editing a graph
  33.     DV_DSDLL_EDITINPUT        = 0x20,    // Context is creating/editing an input object
  34.     DV_DSDLL_EDITRULES        = 0x40,    // Context is creating/editing rules
  35.     DV_DSDLL_DEFAULTDATA    = 0x80,    // Caller requesting a default data connection
  36.     DV_DSDLL_SELECTDATA        = 0x100,   // Caller requires a data connection selection
  37.     DV_DSDLL_EXCHANGEDATA    = 0x200,   // Caller requires a selection & exchange
  38.     DV_DSDLL_RECONNECTDATA    = 0x400,   // For Cut/Paste like operations
  39.  
  40.     // Query flags
  41.     DV_DSDLL_QUERYDLL        = 0x1000,  // Caller querying DLLÆs context & feature support
  42.     DV_DSDLL_GETNAMEBITS    = 0x2000,  // Caller requests variableÆs name & tag fields
  43.  
  44.     // Feature flags
  45.     DV_DSDLL_USESDSVARS        = 0x10000, // DLL supports/uses data source variables
  46.     DV_DSDLL_USESCUSTOMTAGS    = 0x20000  // DLL uses/imbeds custom tag names w/variable
  47. };
  48.  
  49.  
  50. /////////////////////////////////////////////////////////////////////////////
  51. // DV_DSDLLCONTEXT
  52.  
  53. typedef struct tagDSDLLDATA {
  54.     VIEW    m_Pview;        //  Primary view
  55.     VIEW    m_Sview;        //  Secondary view
  56.     VARDESC    m_Pvdp;            //  Primary variable descriptor
  57.     VARDESC    m_Svdp;            //  Primary variable descriptor
  58.     DSVAR    m_DsVar;        //  A data source variable
  59.     char*    m_pszVarname;    //  Variable descriptor name
  60.     char*    m_pszVartags;    //  Variable descriptor tags (optional)
  61.     OBJECT    m_Ob;            //  Selected object(s)
  62.     OBJECT    m_DynControl;    //  Dynamic control object
  63.     int     m_VarType;        //  Variable type, i.e. V_T_TYPE
  64.     int        m_DynType;        //  Specific dynamic flag (i.e. V_DYN_ROTATE)
  65.     BOOL    m_Dirty;        //  If TRUE, user has made changes
  66.     UINT    m_Context;        //  Context flags
  67. } DV_DSDLLDATA;
  68.  
  69.  
  70. /////////////////////////////////////////////////////////////////////////////
  71. // class CDvDsDll
  72.  
  73.  
  74. class CDvDsDll : public DVIUnknown
  75. {
  76. public :
  77.     virtual int     HandleRequest(DV_DSDLLDATA* pData, CWnd* pParent) = 0;
  78.     virtual void GetIdInfo(CString& mfgName, CString& objName, CString& versionStr) = 0;
  79. };
  80.  
  81.  
  82. #endif